Part Number Hot Search : 
2022226 MC145 981520 RGP40 SB620DC F3704 12013 P412425
Product Description
Full Text Search
 

To Download TSC80251-SK Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  tsc87251g1a 1 rev. a september 21, 1998 extended 8bit microcontroller with serial communication interfaces 1. description the tsc87251g1a products are derivatives of the t emic microcontroller family based on the extended 8bit c251 architecture. this family of products is tailored to 8bit microcontroller applications requiring an increased instruction throughput, a reduced operating frequency or a larger addressable memory space. the architecture can provide a significant code size reduction when compiling c programs while fully preserving the legacy of c51 assembly routines. the tsc87251g1a derivatives are pinout and software compatible with standard 80c51/fx/rx with extended onchip data memory (1 kbyte ram), onchip memory (16 kbytes eprom/otprom) and up to 256 kbytes of external code and data. they provide transparent enhancements to intel's 87c251sx family with an additional synchronous serial link controller (sslc supporting i 2 c, m wire and spi protocols), a keyboard interrupt interface and power monitoring and management features. notes: this datasheet provides the technical description of the tsc87251g1a derivatives. for further information on the device usage, please request the tsc80251 programmers' guide and the tsc80251g1 design guide. for information on the mask rom and romless devices, please refer to the tsc87251g1d datasheet. 2. typical applications  isdn terminals  highspeed modems  pabx (soho)  networking  line cards  computer peripherals  printers  plotters  scanners  banking machines  barcode readers  smart cards readers  highend digital monitors  highend joysticks purchase of temic i 2 c components conveys a license under the philips i 2 c patent rights to use these components in an i 2 c system, provided that the system conforms to the i 2 c standard specification as defined by philips.
tsc87251g1a 2 rev. a september 21, 1998 3. features  pinout and software compatibility with standard 80c51 products and 80c51fa/fb/ra/rb  plugin replacement of intel's 80c251sx  c251 core: intel's mcs  251 step a compliance  125 ns instruction cycle time at 16 mhz  40byte register file  registers accessible as bytes, words or dwords  sixstage instruction pipeline  16bit internal code fetch  enriched c51 instruction set  16bit and 32bit alu  compare and conditional jump instructions  expanded set of move instructions  linear addressing  1 kbyte of onchip ram  external memory space (code/data) programmable from 64 kbytes to 256 kbytes  tsc87251g1a: 16 kbytes of onchip eprom/ otprom (production with tsc83251g1d: onchip masked rom version)  singlepulse programming algorithm  four 8bit parallel i/o ports (ports 0, 1, 2 and 3 of the standard 80c51)  serial i/o port: full duplex uart (80c51 compatible) with independent baud rate generator  sslc: synchronous serial link controller  i 2 c master only protocol  m wire and spi master only protocol  three 16bit timers/counters (timers 0, 1 and 2 of the standard 80c51)  ewc: event and waveform controller  compatible with intel's programmable counter array (pca)  common 16bit timer/counter reference with four possible clock sources (fosc/4, fosc/12, timer 1 and external input)  five modules with four programmable modes: 16bit software timer/counter 16bit timer/counter capture input and software pulse measurement highspeed output and 16bit software pulse width modulation (pwm) 8bit hardware pwm without overhead  16bit watchdog timer/counter capability  secured 14bit hardware watchdog timer  power monitoring and management  powerfail reset  poweron reset (integrated on the chip)  poweroff flag (cold and warm resets)  software programmable system clock  idle and powerdown modes  keyboard interrupt interface on port 1  once mode and full speed realtime incircuit emulation support (third party vendors)  speed ranges:  0 to 16 mhz  supply ranges:  5 v 10 %  temperature ranges:  commercial (0 c to +70 c)  industrial (40 c to +85 c)  option: extended range (55 c to +125 c)  packages:  pdil 40, plcc 44  uvwindow cqpj 44  options: known good dice and ceramic packages
tsc87251g1a 3 rev. a september 21, 1998 4. block diagram vdd vss vss1 clock unit clock system prescaler ea#/vpp timers 0, 1 and 2 p3(a16) p2(a158) p1(a17) vss2 p0(ad70) psen# ram 1 kbyte bus interface unit cpu 16bit memory code 16bit memory address ale/prog# xtal1 xtal2 rst uart event and waveform controller 16-bit inst. bus 24-bit prog. counter bus 8-bit data bus 24-bit data address bus peripheral interface unit 8-bit internal bus watchdog timer power monitoring i 2 c/spi/  wire controller eprom otprom 16 kbytes ports 03 keyboard interface interrupt handler unit figure 1. tsc87251g1a block diagram
tsc87251g1a 4 rev. a september 21, 1998 5. pin description 5.1. pinout p1.5/cex2/miso p3.5/t1 tsc87251g1a p1.7/a17/cex4/sda/mosi p1.6/cex3/scl/sck p3.4/t0 p3.3/int1# p3.2/int0# p3.1/txd rst p3.0/rxd p0.4/ad4 p0.5/ad5 p0.6/ad6 p2.7/a15 p2.6/a14 p2.5/a13 p1.4/cex1 p1.3/cex0 p1.2/eci p1.1/t2ex p1.0/t2 p3.6/wr# p3.7/a16/rd# xtal2 xtal1 vss p0.7/ad7 ea#/vpp ale/prog# psen# p2.4/a12 p2.3/a11 p2.2/a10 p2.1/a9 p2.0/a8 p0.3/ad3 p0.2/ad2 p0.1/ad1 p0.0/ad0 vdd 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 figure 2. tsc87251g1a 40pin dip package p1.5/cex2/miso nc p3.5/t1 tsc87251g1a p1.7/a17/cex4/sda/mosi p1.6/cex3/scl/sck p3.4/t0 p3.3/int1# p3.2/int0# p3.1/txd rst p3.0/rxd p0.4/ad4 p0.5/ad5 p0.6/ad6 p0.7/ad7 ea#/vpp psen# p2.7/a15 p2.6/a14 p2.5/a13 nc ale/prog# p1.4/cex1 p1.3/cex0 p1.2/eci p1.1/t2ex p1.0/t2 vss1 vdd p0.0/ad0 p0.1/ad1 p0.2/ad2 p0.3/ad3 p3.7/a16/rd# xtal2 xtal1 vss vss2 p2.0/a8 p2.1/a9 p2.2/a10 p2.3/a11 p2.4/a12 p3.6/wr# 7 8 9 10 11 12 13 14 15 16 17 40 39 38 37 36 35 34 33 32 31 30 29 18 19 20 21 22 23 24 25 26 27 28 41 42 43 44 1 2 3 4 5 6 figure 3. tsc87251g1a 44pin plcc/cqpj package
tsc87251g1a 5 rev. a september 21, 1998 table 1. tsc87251g1a pin assignment dip plcc name dip plcc name 1 vss1 23 vss2 1 2 p1.0/t2 21 24 p2.0/a8 2 3 p1.1/t2ex 22 25 p2.1/a9 3 4 p1.2/eci 23 26 p2.2/a10 4 5 p1.3/cex0 24 27 p2.3/a11 5 6 p1.4/cex1 25 28 p2.4/a12 6 7 p1.5/cex2/miso 26 29 p2.5/a13 7 8 p1.6/cex3/scl/sck 27 30 p2.6/a14 8 9 p1.7/a17/cex4/sda/mosi 28 31 p2.7/a15 9 10 rst 29 32 psen# 10 11 p3.0/rxd 30 33 ale/prog# 12 nc 34 nc 11 13 p3.1/txd 31 35 ea#/vpp 12 14 p3.2/int0# 32 36 p0.7/ad7 13 15 p3.3/int1# 33 37 p0.6/ad6 14 16 p3.4/t0 34 38 p0.5/ad5 15 17 p3.5/t1 35 39 p0.4/ad4 16 18 p3.6/wr# 36 40 p0.3/ad3 17 19 p3.7/a16/rd# 37 41 p0.2/ad2 18 20 xtal2 38 42 p0.1/ad1 19 21 xtal1 39 43 p0.0/ad0 20 22 vss 40 44 vdd 5.2. signals table 2. tsc87251g1a signal descriptions signal name type description alternate function a17 o 18 th address bit output to memory as 18th external address bit (a17) in extended bus applications, depending on the values of bits rd0 and rd1 in uconfig0 byte (see table 13). p1.7 a16 o 17 th address bit output to memory as 17th external address bit (a16) in extended bus applications, depending on the values of bits rd0 and rd1 in uconfig0 byte (see table 13). p3.7 a15:8 (1) o address lines upper address lines for the external bus. p2.7:0 ad7:0 (1) i/o address/data lines multiplexed lower address lines and data for the external memory. p0.7:0 ale o address latch enable ale signals the start of an external bus cycle and indicates that valid address information are available onlines a16/a17 and a7:0. an external latch can use ale to demultiplex the address from address/databus. cex4:0 o pca input/output pins cexx are input signals for the pca capture mode and output signals for the pca compare and pwm modes. p1.7:3 ea# i external access enable ea# directs program memory accesses to onchip or offchip code memory. for ea#= 0, all program memory accesses are off-chip. for ea#= 1, an access is on-chip eprom/otprom if the address is within the range of the on chip eprom/otprom; otherwise the access is off-chip. the value of ea# is latched at reset.
tsc87251g1a 6 rev. a september 21, 1998 alternate function description type signal name eci o pca external clock input eci is the external clock input to the 16bit pca timer. p1.2 miso i/o spi master input slave output line when spi is in master mode, miso receives data from the slave peripheral. when spi is in slave mode, miso outputs data to the master controller. p1.5 mosi i/o spi master output slave input line when spi is in master mode, mosi outputs data to the slave peripheral. when spi is in slave mode, mosi receives data from the master controller. p1.7 int1:0# i external interrupts 0 and 1. int1#/int0# inputs set ie1:0 in the tcon register. if bits it1:0 in the tcon register are set, bits ie1:0 are set by a falling edge on int1#/int0#. if bits it1:0 are cleared, bits ie1:0 are set by a low level on int1#/int0# p3.3:2 p0.0:7 i/o port 0 p0 is an 8bit opendrain bidirectional i/o port. ad7:0 p1.0:7 i/o port 1 p1 is an 8bit bidirectional i/o port with internal pullups. p1 provides interrupt capability for a keyboard interface. p2.0:7 i/o port 2 p2 is an 8bit bidirectional i/o port with internal pullups. a15:8 p3.0:7 i/o port 3 p3 is an 8bit bidirectional i/o port with internal pullups. prog# o programming pulse input the programming pulse is applied to this input for programming the onchip eprom/ otprom. psen# o program store enable/read signal output psen# is asserted for a memory address range that depends on bits rd0 and rd1 in ucon- fig0 byte (see table 13). rd# o read or 17 th address bit (a16) read signal output to external data memory depending on the values of bits rd0 and rd1 in uconfig0 byte (see table 13). p3.7 rst i reset input to the chip holding this pin high for 64 oscillator periods while the oscillator is running resets the device. the port pins are driven to their reset conditions when a voltage greater than v ih1 is applied, whether or not the oscillator is running. this pin has an internal pull-down resistor which allows the device to be reset by connecting a capacitor between this pin and vdd. asserting rst when the chip is in idle mode or powerdown mode returns the chip to normal operation. rxd i/o receive serial data rxd sends and receives data in serial i/o mode 0 and receives data in serial modes i/o 1, 2 and 3. p3.0 scl i/o i 2 c serial clock scl outputs the serial clock to slave peripherals. p1.6 sck i/o spi serial clock sck outputs clock to the slave peripheral. p1.6 sda i/o i 2 c serial data sda is the bidirectional i 2 c data line. p1.7 t1:0 i/o timer 1:0 external clock inputs when timer 1:0 operates as a counter, a falling edge on the t1:0 pin increments the count.
tsc87251g1a 7 rev. a september 21, 1998 alternate function description type signal name t2 i/o timer 2 clock input/output for the timer 2 capture mode, t2 is the external clock input. for the timer 2 clockout mode, t2 is the clock output. p1.0 t2ex i timer 2 external input in timer 2 capture mode, a falling edge initiates a capture of the timer 2 registers. in autoreload mode, a falling edge causes the timer 2 register to be reloaded. in the updown counter mode, this signal determines the count direction: 1= up, 0= down. p1.1 txd i/o transmit serial data txd outputs the shift clock in serial i/o mode 0 and transmits data in serial i/o modes 1, 2 and 3. p3.1 vdd pwr digital supply voltage connect this pin to +5v or +3v supply voltage. vss gnd circuit ground connect this pin to ground. vss1 gnd secondary ground 1 this ground is provided to reduce ground bounce and improve power supply bypassing. con- nection of this pin to ground is recommended. however, when using the tsc87251g1a as a pinforpin replacement for a 8xc51 product, vss1 can be unconnected without loss of com- patibility. not available on dip package. vss2 gnd secondary ground 2 this ground is provided to reduce ground bounce and improve power supply bypassing. con- nection of this pin to ground is recommended. however, when using the tsc87251g1a as a pinforpin replacement for a 8xc51 product, vss2 can be unconnected without loss of com- patibility. not available on dip package. vpp i programming supply voltage the programming supply voltage is applied to this input for programming the onchip eprom/ otprom wr# o write write signal output to external memory. p3.6 xtal1 i input to the onchip inverting oscillator amplifier to use the internal oscillator, a crystal/resonator circuit is connected to this pin. if an external oscillator is used, its output is connected to this pin. xtal1 is the clock source for internal tim- ing. xtal2 o output of the onchip inverting oscillator amplifier to use the internal oscillator, a crystal/resonator circuit is connected to this pin. if an external oscillator is used, leave xtal2 unconnected. note: 1. the description of a15:8/p2.7:0 and ad7:0/p0.7:0 are for the nonpage mode chip configuration. if the chip is configured in p age mode operation, port 0 carries the lower address bits (a7:0) while port 2 carries the upper address bits (a15:8) and the data (d7:0) .
tsc87251g1a 8 rev. a september 21, 1998 6. address spaces the tsc87251g1a implements four different address spaces:  onchip eprom/otprom program/code memory  onchip ram data memory  special function registers (sfrs)  configuration array 6.1. program/code memory the tsc87251g1a implements 16 kbytes of onchip eprom/otprom for program/code memory. figure 4 shows the split of the internal and external program/code memory spaces. if ea# is tied to a high level, the 16kbyte onchip program/code memory is mapped in the lower part of segment ff: where the c251 core jumps after reset. the rest of the program/code memory space is mapped to the external memory. if ea# is tied to a low level, the internal program/code memory is not used and all the accesses are directed to the external memory. ff:3fffh ff:0000h fd:ffffh 02:0000h reserved onchip memory eprom/otprom code program/code segments program/code external memory space ff:ffffh ff:4000h fe:0000h 01:ffffh 01:0000h 00:0000h 00:ffffh fe:ffffh ea#= 1 16 kbytes 48 kbytes 16 kbytes 64 kbytes 128 kbytes ea#= 0 figure 4. program/code memory mapping notes: special care should be taken when the program counter (pc) increments: if the program executes exclusively from onchip code memory (not from external memory), beware of executing code from the upp er eight bytes of the onchip eprom (ff:3ff8hff:3ffffh). because of its pipeline capability, the tsc87251g1a may attempt to prefetch code from e xternal memory (at an address above ff:3ffffh) and thereby disrupt i/o ports 0 and 2. fetching code constants from these 8 bytes does n ot affect ports 0 and 2. when pc reaches the end of segment ff:, it loops to the reset address ff:0000h (for compatibility with the c51 architecture). when pc increments beyond the end of segment fe:, it continues at the reset address ff:0000h (linearity). when pc increments beyond the end of seg ment 01:, it loops to the beginning of segment 00: (this prevents from its going into the reserved area).
tsc87251g1a 9 rev. a september 21, 1998 6.2. data memory the tsc87251g1a implements 1 kbyte of onchip data ram. figure 5 shows the split of the internal and external data memory spaces. this memory is mapped in the data space just over the 32 bytes of registers area (see tsc80251 programmers' guide). hence, the part of the onchip ram located from 20h to ffh is bit addressable. this onchip ram is not accessible through the program/code memory space. for faster computation with the onchip eprom code of the tsc87251g1a, its upper 8 kbytes are also mapped in the upper part of the region 00: if the onchip code memory map configuration bit is cleared (emap# bit in uconfig1 byte, see figure 7). however, if ea# is tied to a low level, the tsc87251g1a derivative is running as a romless product and the code is actually fetched in the corresponding external memory (i.e. the upper 8 kbytes of the lower 16 kbytes of the segment ff:). if emap# bit is set, the onchip eprom is not accessible through the region 00:. all the accesses to the portion of the data space with no onchip memory mapped onto are redirected to the external memory. ff:3fffh ff:0000h 01:0000h 00:ffffh 00:e000h data external memory space onchip memory eprom/otprom code ff:ffffh ff:4000h 00:0420h fe:ffffh 8 kbytes 8 kbytes 1 kbyte 32 bytes reg. emap#= 1 data segments 48 kbytes 16 kbytes 8 kbytes 56 kbytes ram data fe:0000h 01:ffffh 64 kbytes 64 kbytes emap#= 0 ea#= 1 00:dfffh fd:ffffh 02:0000h reserved ea#= 0 figure 5. data memory mapping 6.3. special function registers the special function registers (sfrs) of the tsc87251g1a derivatives fall into the categories detailed in table 3 to table 11. sfrs are placed in a reserved onchip memory region s: which is not represented in the data memory mapping (figure 5). the relative addresses within s: of these sfrs are provided together with their reset values in table 12. they are upward compatible with the sfrs of the standard 80c51 and the intel's 80c251sx family. in this table, the c251 core registers are in italics and are described in the tsc80251 programmer's guide. the other sfrs are described in the tsc80251g1 design guide. all the sfrs are bitaddressable using the c251 instruction set.
tsc87251g1a 10 rev. a september 21, 1998 table 3. c251 core sfrs mnemonic name mnemonic name acc (1) accumulator sph (1) stack pointer high msb of spx b (1) b register dpl (1) data pointer low byte lsb of dptr psw program status word dph (1) data pointer high byte msb of dptr psw1 program status word 1 dpxl (1) data pointer extended low byte of dpx region number sp (1) stack pointer lsb of spx note: 1. these sfrs can also be accessed by their corresponding registers in the register file. table 4. i/o port sfrs mnemonic name mnemonic name p 0 port 0 p 2 port 2 p 1 port 1 p 3 port 3 table 5. timers sfrs mnemonic name mnemonic name tl0 timer/counter 0 low byte tmod timer/counter 0 and 1 modes th0 timer/counter 0 high byte t2con timer/counter 2 control tl1 timer/counter 1 low byte t2mod timer/counter 2 mode th1 timer/counter 1 high byte rcap2l timer/counter 2 reload/capture low byte tl2 timer/counter 2 low byte rcap2h timer/counter 2 reload/capture high byte th2 timer/counter 2 high byte wdtrst watchdog timer reset tcon timer/counter 0 and 1 control table 6. serial i/o port sfrs mnemonic name mnemonic name scon serial control saddr slave address sbuf serial data buffer brl baud rate reload saden slave address mask bdrcon baud rate control table 7. sslc sfrs mnemonic name mnemonic name sscon synchronous serial control sscs synchronous serial control and status ssdat synchronous serial data ssbr synchronous serial bit rate
tsc87251g1a 11 rev. a september 21, 1998 table 8. event waveform control sfrs mnemonic name mnemonic name ccon ewcpca timer/counter control ccap1l ewcpca compare capture module 1 low register cmod ewcpca timer/counter mode ccap2l ewcpca compare capture module 2 low register cl ewcpca timer/counter low register ccap3l ewcpca compare capture module 3 low register ch ewcpca timer/counter high register ccap4l ewcpca compare capture module 4 low register ccapm0 ewcpca timer/counter mode 0 ccap0h ewcpca compare capture module 0 high register ccapm1 ewcpca timer/counter mode 1 ccap1h ewcpca compare capture module 1 high register ccapm2 ewcpca timer/counter mode 2 ccap2h ewcpca compare capture module 2 high register ccapm3 ewcpca timer/counter mode 3 ccap3h ewcpca compare capture module 3 high register ccapm4 ewcpca timer/counter mode 4 ccap4h ewcpca compare capture module 4 high register ccap0l ewcpca compare capture module 0 low register table 9. system management sfrs mnemonic name mnemonic name pcon power control pfilt power filter powm power management ckrl clock reload table 10. interrupt sfrs mnemonic name mnemonic name ie0 interrupt enable control 0 ipl0 interrupt priority control low 0 ie1 interrupt priority control 1 iph1 interrupt priority control high 1 iph0 interrupt priority control high 0 ipl1 interrupt priority control low 1 table 11. keyboard interface sfrs mnemonic name mnemonic name p1ie port 1 input interrupt enable p1ls port 1 level selection p1f port 1 flag
tsc87251g1a 12 rev. a september 21, 1998 table 12. sfr addresses and reset values 0/8 1/9 2/a 3/b 4/c 5/d 6/e 7/f f8h ch 0000 0000 ccap0h 0000 0000 ccap1h 0000 0000 ccap2h 0000 0000 ccap3h 0000 0000 ccap4h 0000 0000 ffh f0h b (1) 0000 0000 f7h e8h cl 0000 0000 ccap0l 0000 0000 ccap1l 0000 0000 ccap2l 0000 0000 ccap3l 0000 0000 ccap4l 0000 0000 efh e0h acc (1) 0000 0000 e7h d8h ccon 00x0 0000 cmod 00xx x000 ccapm0 x000 0000 ccapm1 x000 0000 ccapm2 x000 0000 ccapm3 x000 0000 ccapm4 x000 0000 dfh d0h psw (1) 0000 0000 psw1 (1) 0000 0000 d7h c8h t2con 0000 0000 t2mod xxxx xx00 rcap2l 0000 0000 rcap2h 0000 0000 tl2 0000 0000 th2 0000 0000 cfh c0h c7h b8h ipl0 x000 0000 saden 0000 0000 sph (1) 0000 0000 bfh b0h p3 1111 1111 ie1 xx0x xxx0 ipl1 xx0x xxx0 iph1 xx0x xxx0 iph0 x000 0000 b7h a8h ie0 0000 0000 saddr 0000 0000 afh a0h p2 1111 1111 wdtrst 1111 1111 a7h 98h scon 0000 0000 sbuf xxxx xxxx brl 0000 0000 bdrcon xxx0 0000 p1ls 0000 0000 p1ie 0000 0000 p1f 0000 0000 9fh 90h p1 1111 1111 ssbr 0000 0000 sscon 0000 0000 sscs (2) ssdat 0000 0000 97h 88h tcon 0000 0000 tmod 0000 0000 tl0 0000 0000 tl1 0000 0000 th0 0000 0000 th1 0000 0000 ckrl 0000 1000 powm 0xxx 0xxx 8fh 80h p0 1111 1111 sp 0000 0111 dpl (1) 0000 0000 dph (1) 0000 0000 dpxl (1) 0000 0001 pfilt xxxx xxxx pcon 0000 0000 87h 0/8 1/9 2/a 3/b 4/c 5/d 6/e 7/f reserved notes: 1. these registers are described in the tsc80251 programmer's guide (c251 core registers). 2. in read and write modes, sscs is splitted in two separate registers. sscs reset value is 1111 1000 in read mode and 0000 0000 in write mode.
tsc87251g1a 13 rev. a september 21, 1998 6.4. configuration bytes the tsc87251g1a derivatives provide user design flexibility by configuring certain operating features at device reset. these features fall into the following categories:  external memory interface (page mode, address bits, programmed wait states and the address range for rd#, wr#, and psen#)  source mode/binary mode opcodes  selection of bytes stored on the stack by an interrupt  mapping of the upper portion of onchip code memory to region 00: two user configuration bytes config0 (see figure 6) and config1 (see figure 7) provide the information. for tsc87251g1a devices, configuration information is stored in onchip separate memory (see paragraph 8. aeprom programmingo). whatever the ea# level, the configuration information is retrieved from this onchip memory. config0 configuration byte 0 76543210 wsa xale# rd1 rd0 page# src bit number bit mnemonic description 7 reserved set this bit when writing to config0. 6 reserved set this bit when writing to config0. 5 wsa wait state a bits clear to generate one wait state for all memory region except 01:. set for no wait states for all memory region except 01:. 4 xale# extend ale bit clear to extend the duration of the ale pulse from t osc to 3 t osc. set to minimize the duration of the ale pulse to 1 t osc . 3 rd1 memory signal select bits specify a 18 bit 17 bit or 16 bit external address bus and the usage of rd# wr# and psen# signals 2 rd0 specify a 18bit, 17bit or 16bit external address bus and the usage of rd#, wr# and psen# signals (see table 13). 1 page# page mode select bit clear to select the faster page mode with a15:8/d7:0 on port 2 and a7:0 on port 0. set to select the nonpage mode (1) with a15:8 on port 2 and a7:0/d7:0 on port 0. 0 src source mode/binary mode select bit clear to select the binary mode. set to select the source mode. note: 1. this selection provides compatibility with the standard 80c51 hardware which is multiplexing the address lsb and the data on port 0. figure 6. configuration byte 0
tsc87251g1a 14 rev. a september 21, 1998 config1 configuration byte 1 76543210 intr wsb emap# bit number bit mnemonic description 7 reserved set this bit when writing to config1. 6 reserved set this bit when writing to config1. 5 reserved set this bit when writing to config1. 4 intr interrupt mode bit (1) clear so that the interrupts push two bytes onto the stack (the two lower bytes of the pc register). set so that the interrupts push four bytes onto the stack (the three bytes of the pc register and the psw1 register). 3 wsb wait state b bit clear to generate one wait state for memory region 01:. set for no wait states for memory region 01:. 2 reserved set this bit when writing to config1. 1 reserved set this bit when writing to config1. 0 emap# onchip code memory map bit clear to map the upper 8 kbytes of onchip code memory (at ff:2000hff:3fffh) to the data space (at 00:e000h00:ffffh). set not to map the upper 8 kbytes of onchip code memory (at ff:2000hff:3fffh) to the data space. note: 1. two or four bytes are transparently popped according to intr when using the reti instruction. intr must be set if interrupts are used with code executing outside region ff:. figure 7. configuration byte 1 table 13. address ranges and usage of rd#, wr# and psen# signals rd1 rd0 p1.7 p3.7/rd# psen# wr# external memory 0 0 a17 a16 read signal for all external memory locations write signal for all external memory locations 256 kbytes 0 1 i/o pin a16 read signal for all external memory locations write signal for all external memory locations 128 kbytes 1 0 i/o pin i/o pin read signal for all external memory locations write signal for all external memory locations 64 kbytes 1 1 i/o pin read signal for regions 00: and 01: read signal for regions fe: and ff: write signal for all external memory locations 2 64 kbytes (1) note: 1. this selection provides compatibility with the standard 80c51 hardware which has separate external memory spaces for data and code.
tsc87251g1a 15 rev. a september 21, 1998 7. instruction set summary this section contains tables that summarize the instruction set. for each instruction there is a short description, its length in bytes, and its execution time in states (one state time is equal to two system clock cycles). there are two concurrent processes limiting the effective instruction throughput:  instruction fetch  instruction execution table 20 to table 34 assume code executing from onchip memory, then the cpu is fetching 16bit at a time and this is never limiting the execution speed. if the code is fetched from external memory, a prefetch queue will store instructions ahead of execution to optimize the memory bandwidth usage when slower instructions are executed. however, the effective speed may be limited depending on the average size of instructions (for the considered section of the program flow). the maximum average instruction throughput is provided by table 14 depending on the external memory configuration (from page mode to nonpage mode and the maximum number of wait states). if the average size of instructions is not an integer, the maximum effective throughput is found by pondering the number of states for the neighbor integer values. table 14. minimum number of states per instruction for given average sizes average size of page mode nonpage mode (states) average sze of instructions (bytes) page mode (states) 0 wait state 1 wait state 2 wait states 1 1 2 3 4 2 2 4 6 8 3 3 6 9 12 4 4 8 12 16 5 5 10 15 20 if the average execution time of the considered instructions is larger than the number of states given by table 14, this larger value will prevail as the limiting factor. otherwise, the value from table 14 must be taken. this is providing a fair estimation of the execution speed but only the actual code execution can provide the final value. 7.1. notation for instruction operands table 15 to table 19 provide notation for instruction operands. table 15. notation for direct addressing direct address description c251 c51 dir8 a direct 8-bit address. this can be a memory address (00h-7fh) or a sfr address (80h-ffh). it is a byte (default), word or double word depending on the other operand.   dir16 a 16-bit memory address (00:0000h-00:ffffh) used in direct addressing.  table 16. notation for immediate addressing immediate address description c251 c51 #data an 8-bit constant that is immediately addressed in an instruction   #data16 a 16-bit constant that is immediately addressed in an instruction  #0data16 #1data16 a 32-bit constant that is immediately addressed in an instruction. the upper word is filled with zeros (#0data16) or ones (#1data16).  #short a constant, equal to 1, 2, or 4, that is immediately addressed in an instruction. 
tsc87251g1a 16 rev. a september 21, 1998 table 17. notation for bit addressing direct address description c251 c51 bit51 a directly addressed bit (bit number= 00h-ffh) in memory or an sfr. bits 00h-7fh are the 128 bits in byte locations 20h-2fh in the on-chip ram. bits 80h-ffh are the 128 bits in the 16 sfrs with addresses that end in 0h or 8h, s:80h, s:88h, s:90h,..., s:f0h, s:f8h.  bit a directly addressed bit in memory locations 00:0020h-00:007fh or in any defined sfr.  table 18. notation for destination in control instructions direct address description c251 c51 rel a signed (two's complement) 8-bit relative address. the destination is 128 to +127 bytes relative to the next instruction's first byte.   addr11 an 11-bit target address. the target is in the same 2-kbyte block of memory as the next instruction's first byte.  addr16 a 16-bit target address. the target can be anywhere within the same 64-kbyte region as the next instruction's first byte.  addr24 a 24-bit target address. the target can be anywhere within the 16mbyte address space.  table 19. notation for register operands register description c251 c51 @ri a memory location (00h-ffh) addressed indirectly via byte registers r0 or r1  rn n byte register r0-r7 of the currently selected register bank byte register index: n= 0-7  rm rmd rms m, md, ms byte register r0-r15 of the currently selected register file destination register source register byte register index: m, md, ms= 0-15  wrj wrjd wrjs @wrj @wrj +dis16 j, jd, js word register wr0, wr2, ..., wr30 of the currently selected register file destination register source register a memory location (00:0000h-00:ffffh) addressed indirectly through word register wr0-wr30, is the target address for jump instructions. a memory location (00:0000h-00:ffffh) addressed indirectly through word register (wr0-wr30) + 16bit signed (two's complement) displacement value word register index: j, jd, js= 0-30  drk drkd drks @drk @drk +dis16 k, kd, ks dword register dr0, dr4, ..., dr28, dr56, dr60 of the currently selected register file destination register source register a memory location (00:0000h-ff:ffffh) addressed indirectly through dword register dr0-dr28, dr56 and dr60, is the target address for jump instruction a memory location (00:0000h-ff:ffffh) addressed indirectly through dword register (dr0-dr28, dr56, dr60) + 16bit (two's complement) signed displacement value dword register index: k, kd, ks= 0, 4, 8..., 28, 56, 60 
tsc87251g1a 17 rev. a september 21, 1998 7.2. size and execution time for instruction families table 20. summary of add and subtract instructions add add , dest opnd dest opnd + src opnd subtract sub , dest opnd dest opnd src opnd add with carry addc , (a) (a) + src opnd + (cy) subtract with borrow subb , (a) (a) src opnd (cy) mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states a, rn register to acc 1 1 2 2 add a, dir8 direct address to acc 2 1 (2) 2 1 (2) add a, @ri indirect address to acc 1 2 2 3 a, #data immediate data to acc 2 1 2 1 rmd, rms byte register to/from byte register 3 2 2 1 wrjd, wrjs word register to/from word register 3 3 2 2 drkd, drks dword register to/from dword register 3 5 2 4 rm, #data immediate 8-bit data to/from byte register 4 3 3 2 wrj, #data16 immediate 16-bit data to/from word register 5 4 4 3 drk, #0data16 16-bit unsigned immediate data to/from dword register 5 6 4 5 add / sub rm, dir8 direct address (onchip ram or sfr) to/from byte register 4 3 (2) 3 2 (2) wrj, dir8 direct address (onchip ram or sfr) to/from word register 4 4 3 3 rm, dir16 direct address (64k) to/from byte register 5 3 (3) 4 2 (3) wrj, dir16 direct address (64k) to/from word register 5 4 (4) 4 3 (4) rm, @wrj indirect address (64k) to/from byte register 4 3 (3) 3 2 (3) rm, @drk indirect address (16m) to/from byte register 4 4 (3) 3 3 (3) a, rn register to/from acc with carry 1 1 2 2 addc / subb a, dir8 direct address (onchip ram or sfr) to/from acc with carry 2 1 (2) 2 1 (2) subb a, @ri indirect address to/from acc with carry 1 2 2 3 a, #data immediate data to/from acc with carry 2 1 2 1 notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. if this instruction addresses an i/o port (px, x= 0-3), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 3. if this instruction addresses external memory location, add n+2 to the number of states (n: number of wait states). 4. if this instruction addresses external memory location, add 2(n+2) to the number of states (n: number of wait states).
tsc87251g1a 18 rev. a september 21, 1998 table 21. summary of increment and decrement instructions increment inc dest opnd dest opnd + 1 increment inc , dest opnd dest opnd + src opnd decrement dec dest opnd dest opnd 1 decrement dec , dest opnd dest opnd src opnd mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states a acc by 1 1 1 1 1 inc rn register by 1 1 1 2 2 inc dec dir8 direct address (onchip ram or sfr) by 1 2 2 (2) 2 2 (2) @ri indirect address by 1 1 3 2 4 inc rm, #short byte register by 1, 2, or 4 3 2 2 1 inc dec wrj, #short word register by 1, 2, or 4 3 2 2 1 inc drk, #short double word register by 1, 2, or 4 3 4 2 3 dec drk, #short double word register by 1, 2, or 4 3 5 2 4 inc dptr data pointer by 1 1 1 1 1 notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. if this instruction addresses an i/o port (px, x= 0-3), add 2 to the number of states. add 3 if it addresses a peripheral sfr . table 22. summary of compare instructions compare cmp , dest opnd src opnd mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states rmd, rms register with register 3 2 2 1 wrjd, wrjs word register with word register 3 3 2 2 drkd, drks dword register with dword register 3 5 2 4 rm, #data register with immediate data 4 3 3 2 wrj, #data16 word register with immediate 16-bit data 5 4 4 3 drk, #0data16 dword register with zero-extended 16-bit immediate data 5 6 4 5 cmp drk, #1data16 dword register with one-extended 16-bit immediate data 5 6 4 5 rm, dir8 direct address (onchip ram or sfr) with byte register 4 3 (1) 3 2 (1) wrj, dir8 direct address (onchip ram or sfr) with word register 4 4 3 3 rm, dir16 direct address (64k) with byte register 5 3 (2) 4 2 (2) wrj, dir16 direct address (64k) with word register 5 4 (3) 4 3 (3) rm, @wrj indirect address (64k) with byte register 4 3 (2) 3 2 (2) rm, @drk indirect address (16m) with byte register 4 4 (2) 3 3 (2) notes: 1. if this instruction addresses an i/o port (px, x= 0-3), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 2. if this instruction addresses external memory location, add n+2 to the number of states (n: number of wait states). 3. if this instruction addresses external memory location, add 2(n+2) to the number of states (n: number of wait states).
tsc87251g1a 19 rev. a september 21, 1998 table 23. summary of logical instructions (1/2) logical and (1) anl , dest opnd dest opnd l src opnd logical or (1) orl , dest opnd dest opnd v src opnd logical exclusive or (1) xrl , dest opnd dest opnd " src opnd clear (1) clr a (a) 0 complement (1) cpl a (a) ? (a) rotate left rl a (a) n+1 (a) n , n= 0..6 (a) 0 (a) 7 rotate left carry rlc a (a) n+1 (a) n , n= 0..6 (cy) (a) 7 (a) 0 (cy) rotate right rr a (a) n1 (a) n , n= 7..1 (a) 7 (a) 0 rotate right carry rrc a (a) n1 (a) n , n= 7..1 (cy) (a) 0 (a) 7 (cy) mnemon i c (2) comments binary mode source mode mnemonic , (2) comments bytes states bytes states a, rn register to acc 1 1 2 2 a, dir8 direct address (onchip ram or sfr) to acc 2 1 (3) 2 1 (3) a, @ri indirect address to acc 1 2 2 3 a, #data immediate data to acc 2 1 2 1 dir8, a acc to direct address 2 2 (4) 2 2 (4) dir8, #data immediate 8bit data to direct address 3 3 (4) 3 3 (4) rmd, rms byte register to byte register 3 2 2 1 anl orl wrjd, wrjs word register to word register 3 3 2 2 orl xrl rm, #data immediate 8-bit data to byte register 4 3 3 2 wrj, #data16 immediate 16-bit data to word register 5 4 4 3 rm, dir8 direct address to byte register 4 3 (3) 3 2 (3) wrj, dir8 direct address to word register 4 4 3 3 rm, dir16 direct address (64k) to byte register 5 3 (5) 4 2 (5) wrj, dir16 direct address (64k) to word register 5 4 (6) 4 3 (6) rm, @wrj indirect address (64k) to byte register 4 3 (5) 3 2 (5) rm, @drk indirect address (16m) to byte register 4 4 (5) 3 3 (5) clr a clear acc 1 1 1 1 cpl a complement acc 1 1 1 1 rl a rotate acc left 1 1 1 1 rlc a rotate acc left through cy 1 1 1 1 rr a rotate acc right 1 1 1 1 rrc a rotate acc right through cy 1 1 1 1 notes: 1. logical instructions that affect a bit are in table 29. 2. a shaded cell denotes an instruction in the c51 architecture. 3. if this instruction addresses an i/o port (px, x= 03), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 4. if this instruction addresses an i/o port (px, x= 03), add 2 to the number of states. add 3 if it addresses a peripheral sfr . 5. if this instruction addresses external memory location, add n+2 to the number of states (n: number of wait states). 6. if this instruction addresses external memory location, add 2(n+2) to the number of states (n: number of wait states).
tsc87251g1a 20 rev. a september 21, 1998 table 24. summary of logical instructions (2/2) shift left logical sll 0 0 n+1 n , n= 0..msb1 (cy) msb shift right arithmetic sra msb msb n1 n , n= msb..1 (cy) 0 shift right logical srl msb 0 n1 n , n= msb..1 (cy) 0 swap swap a a 3:0  a 7:4 mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states sll rm shift byte register left through the msb 3 2 2 1 sll wrj shift word register left through the msb 3 2 2 1 sra rm shift byte register right 3 2 2 1 sra wrj shift word register right 3 2 2 1 srl rm shift byte register left 3 2 2 1 srl wrj shift word register left 3 2 2 1 swap a swap nibbles within acc 1 2 1 2 note: 1. a shaded cell denotes an instruction in the c51 architecture. table 25. summary of multiply, divide and decimal-adjust instructions multiply mul ab (b:a) (a) (b) mul , extended dest opnd dest opnd src opnd divide div ab (a) quotient ((a) M (b)) (b) remainder ((a) M (b)) divide div , ext. dest opnd high quotient (dest opnd M src opnd) ext. dest opnd low remainder (dest opnd M src opnd) decimal-adjust acc da a if [[(a) 3:0 > 9] [(ac)= 1]] for addition (bcd) then (a) 3:0 (a) 3:0 + 6 !affects cy; if [[(a) 7:4 > 9] [(cy)= 1]] then (a) 7:4 (a) 7:4 + 6 mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states ab multiply a and b 1 5 1 5 mul rmd, rms multiply byte register and byte register 3 6 2 5 wrjd, wrjs multiply word register and word register 3 12 2 11 ab divide a and b 1 10 1 10 div rmd, rms divide byte register and byte register 3 11 2 10 wrjd, wrjs divide word register and word register 3 21 2 20 da a decimal adjust acc 1 1 1 1 note: 1. a shaded cell denotes an instruction in the c51 architecture.
tsc87251g1a 21 rev. a september 21, 1998 table 26. summary of move instructions (1/3) move to high word movh , dest opnd 31:16 src opnd move with sign extension movs , dest opnd src opnd with sign extend move with zero extension movz , dest opnd src opnd with zero extend move code movc a, (a) src opnd move extended movx , dest opnd src opnd mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states movh drk, #data16 16-bit immediate data into upper word of dword register 5 3 4 2 movs wrj, rm byte register to word register with sign extension 3 2 2 1 movz wrj, rm byte register to word register with zeros extension 3 2 2 1 movc a, @a +dptr code byte relative to dptr to acc 1 6 (3) 1 6 (3) movc a, @a +pc code byte relative to pc to acc 1 6 (3) 1 6 (3) a, @ri extended memory (8-bit address) to acc (2) 1 4 1 5 movx a, @dptr extended memory (16-bit address) to acc (2) 1 3 (4) 1 3 (4) movx @ri, a acc to extended memory (8-bit address) (2) 1 4 1 4 @dptr, a acc to extended memory (16-bit address) (2) 1 4 (3) 1 4 (3) notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. extended memory addressed is in the region specified by dpxl (reset value= 01h). 3. if this instruction addresses external memory location, add n+1 to the number of states (n: number of wait states). 4. if this instruction addresses external memory location, add n+2 to the number of states (n: number of wait states). table 27. summary of move instructions (2/3) move (1) mov , dest opnd src opnd mnemon i c (2) comments binary mode source mode mnemonic , (2) comments bytes states bytes states a, rn register to acc 1 1 2 2 a, dir8 direct address (onchip ram or sfr) to acc 2 1 (3) 2 1 (3) a, @ri indirect address to acc 1 2 2 3 a, #data immediate data to acc 2 1 2 1 rn, a acc to register 1 1 2 2 rn, dir8 direct address (onchip ram or sfr) to register 2 1 (3) 3 2 (3) mov rn, #data immediate data to register 2 1 3 2 dir8, a acc to direct address 2 2 (3) 2 2 (3) dir8, rn register to direct address 2 2 (3) 3 3 (3) dir8, dir8 direct address to direct address 3 3 (4) 3 3 (4) dir8, @ri indirect address to direct address 2 3 (3) 3 4 (3) dir8, #data immediate data to direct address 3 3 (3) 3 3 (3) @ri, a acc to indirect address 1 3 2 4 @ri, dir8 direct address to indirect address 2 3 (3) 3 4 (3) @ri, #data immediate data to indirect address 2 3 3 4 dptr, #data16 load data pointer with a 16-bit constant 3 2 3 2 notes: 1. instructions that move bits are in table 29. 2. move instructions from the c51 architecture. 3. if this instruction addresses an i/o port (px, x= 0-3), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 4. apply note 3 for each dir8 operand.
tsc87251g1a 22 rev. a september 21, 1998 table 28. summary of move instructions (3/3) move (1) mov , dest opnd src opnd mnemon i c (2) comments binary mode source mode mnemonic , (2) comments bytes states bytes states rmd, rms byte register to byte register 3 2 2 1 wrjd, wrjs word register to word register 3 2 2 1 drkd, drks dword register to dword register 3 3 2 2 rm, #data immediate 8-bit data to byte register 4 3 3 2 wrj, #data16 immediate 16-bit data to word register 5 3 4 2 drk, #0data16 zero-ext 16bit immediate data to dword register 5 5 4 4 drk, #1data16 one-ext 16bit immediate data to dword register 5 5 4 4 rm, dir8 direct address to byte register 4 3 (3) 3 2 (3) wrj, dir8 direct address to word register 4 4 3 3 drk, dir8 direct address to dword register 4 6 3 5 rm, dir16 direct address (64k) to byte register 5 3 (4) 4 2 (4) wrj, dir16 direct address (64k) to word register 5 4 (5) 4 3 (5) drk, dir16 direct address (64k) to dword register 5 6 (6) 4 5 (6) rm, @wrj indirect address (64k) to byte register 4 3 (4) 3 2 (4) rm, @drk indirect address (16m) to byte register 4 4 (4) 3 3 (4) wrjd, @wrjs indirect address (64k) to word register 4 4 (5) 3 3 (5) wrj, @drk indirect address (16m) to word register 4 5 (5) 3 4 (5) dir8, rm byte register to direct address 4 4 (3) 3 3 (3) mov dir8, wrj word register to direct address 4 5 3 4 dir8, drk dword register to direct address 4 7 3 6 dir16, rm byte register to direct address (64k) 5 4 (4) 4 3 (4) dir16, wrj word register to direct address (64k) 5 5 (5) 4 4 (5) dir16, drk dword register to direct address (64k) 5 7 (6) 4 6 (6) @wrj, rm byte register to indirect address (64k) 4 4 (4) 3 3 (4) @drk, rm byte register to indirect address (16m) 4 5 (4) 3 4 (4) @wrjd, wrjs word register to indirect address (64k) 4 5 (5) 3 4 (5) @drk, wrj word register to indirect address (16m) 4 6 (5) 3 5 (5) rm, @wrj +dis16 indirect with 16bit dis (64k) to byte register 5 6 (4) 4 5 (4) wrj, @wrj +dis16 indirect with 16bit dis (64k) to word register 5 7 (5) 4 6 (5) rm, @drk +dis24 indirect with 16bit dis (16m) to byte register 5 7 (4) 4 6 (4) wrj, @wrj +dis24 indirect with 16bit dis (16m) to word register 5 8 (5) 4 7 (5) @wrj +dis16, rm byte register to indirect with 16bit dis (64k) 5 6 (4) 4 5 (4) @wrj +dis16, wrj word register to indirect with 16bit dis (64k) 5 7 (5) 4 6 (5) @drk +dis24, rm byte register to indirect with 16bit dis (16m) 5 7 (4) 4 6 (4) @drk +dis24, wrj word register to indirect with 16bit dis (16m) 5 8 (5) 4 7 (5) notes: 1. instructions that move bits are in table 29. 2. move instructions unique to the c251 architecture. 3. if this instruction addresses an i/o port (px, x= 0-3), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 4. if this instruction addresses external memory location, add n+2 to the number of states (n: number of wait states). 5. if this instruction addresses external memory location, add 2(n+1) to the number of states (n: number of wait states). 6. if this instruction addresses external memory location, add 4(n+2) to the number of states (n: number of wait states).
tsc87251g1a 23 rev. a september 21, 1998 table 29. summary of bit instructions clear bit clr dest opnd 0 set bit setb dest opnd 1 complement bit cpl dest opnd ? bit and carry with bit anl cy, (cy) (cy) src opnd and carry with complement of bit anl cy, / (cy) (cy) ? src opnd or carry with bit orl cy, (cy) (cy) src opnd or carry with complement of bit orl cy, / (cy) (cy) ? src opnd move bit to carry mov cy, (cy) src opnd move bit from carry mov , cy dest opnd (cy) mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states cy clear carry 1 1 1 1 clr bit51 clear direct bit 2 2 (3) 2 2 (3) bit clear direct bit 4 4 (3) 3 3 (3) cy set carry 1 1 1 1 setb bit51 set direct bit 2 2 (3) 2 2 (3) bit set direct bit 4 4 (3) 3 3 (3) cy complement carry 1 1 1 1 cpl bit51 complement direct bit 2 2 (3) 2 2 (3) bit complement direct bit 4 4 (3) 3 3 (3) cy, bit51 and direct bit to carry 2 1 (2) 2 1 (2) anl cy, bit and direct bit to carry 4 3 (2) 3 2 (2) anl cy, /bit51 and complemented direct bit to carry 2 1 (2) 2 1 (2) cy, /bit and complemented direct bit to carry 4 3 (2) 3 2 (2) cy, bit51 or direct bit to carry 2 1 (2) 2 1 (2) orl cy, bit or direct bit to carry 4 3 (2) 3 2 (2) orl cy, /bit51 or complemented direct bit to carry 2 1 (2) 2 1 (2) cy, /bit or complemented direct bit to carry 4 3 (2) 3 2 (2) cy, bit51 move direct bit to carry 2 1 (2) 2 1 (2) mov cy, bit move direct bit to carry 4 3 (2) 3 2 (2) mov bit51, cy move carry to direct bit 2 2 (3) 2 2 (3) bit, cy move carry to direct bit 4 4 (3) 3 3 (3) notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. if this instruction addresses an i/o port (px, x= 03), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 3. if this instruction addresses an i/o port (px, x= 03), add 2 to the number of states. add 3 if it addresses a peripheral sfr .
tsc87251g1a 24 rev. a september 21, 1998 table 30. summary of exchange, push and pop instructions exchange bytes xch a, (a)  src opnd exchange digit xchd a, (a) 3:0  src opnd 3:0 push push (sp) (sp) +1; ((sp)) src opnd; (sp) (sp) + size (src opnd) 1 pop pop (sp) (sp) size (dest opnd) + 1; dest opnd ((sp)); (sp) (sp) 1 mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states xch a, rn acc and register 1 3 2 4 xch a, dir8 acc and direct address (onchip ram or sfr) 2 3 (3) 2 3 (3) a, @ri acc and indirect address 1 4 2 5 xchd a, @ri acc low nibble and indirect address (256 bytes) 1 4 2 5 dir8 push direct address onto stack 2 2 (2) 2 2 (2) #data push immediate data onto stack 4 4 3 3 push #data16 push 16-bit immediate data onto stack 5 5 4 5 push rm push byte register onto stack 3 4 2 3 wrj push word register onto stack 3 5 2 4 drk push double word register onto stack 3 9 2 8 dir8 pop direct address (onchip ram or sfr) from stack 2 3 (2) 2 3 (2) pop rm pop byte register from stack 3 3 2 2 pop wrj pop word register from stack 3 5 2 4 drk pop double word register from stack 3 9 2 8 notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. if this instruction addresses an i/o port (px, x= 0-3), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 3. if this instruction addresses an i/o port (px, x= 0-3), add 2 to the number of states. add 3 if it addresses a peripheral sfr . table 31. summary of conditional jump instructions (1/2) jump conditional on status jcc rel (pc) (pc) + size (instr); if [cc] then (pc) (pc) + rel mnemon i c (1) comments binary mode (2) source mode (2) mnemonic , (1) comments bytes states bytes states jc rel jump if carry 2 1/4 (3) 2 1/4 (3) jnc rel jump if not carry 2 1/4 (3) 2 1/4 (3) je rel jump if equal 3 2/5 (3) 2 1/4 (3) jne rel jump if not equal 3 2/5 (3) 2 1/4 (3) jg rel jump if greater than 3 2/5 (3) 2 1/4 (3) jle rel jump if less than, or equal 3 2/5 (3) 2 1/4 (3) jsl rel jump if less than (signed) 3 2/5 (3) 2 1/4 (3) jsle rel jump if less than, or equal (signed) 3 2/5 (3) 2 1/4 (3) jsg rel jump if greater than (signed) 3 2/5 (3) 2 1/4 (3) jsge rel jump if greater than or equal (signed) 3 2/5 (3) 2 1/4 (3) notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. states are given as jump not-taken/taken. 3. in internal execution only, add 1 to the number of states of the `jump taken' if the destination address is internal and odd.
tsc87251g1a 25 rev. a september 21, 1998 table 32. summary of conditional jump instructions (2/2) jump if bit jb , rel (pc) (pc) + size (instr); if [src opnd= 1] then (pc) (pc) + rel jump if not bit jnb , rel (pc) (pc) + size (instr); if [src opnd= 0] then (pc) (pc) + rel jump if bit and clear jbc , rel (pc) (pc) + size (instr); if [dest opnd= 1] then dest opnd 0 (pc) (pc) + rel jump if accumulator is zero jz rel (pc) (pc) + size (instr); if [(a)= 0] then (pc) (pc) + rel jump if accumulator is not zero jnz rel (pc) (pc) + size (instr); if [(a) 0] then (pc) (pc) + rel compare and jump if not equal cjne , , rel (pc) (pc) + size (instr); if [src opnd1 < src opnd2] then (cy) 1 if [src opnd1 src opnd2] then (cy) 0 if [src opnd1 src opnd2] then (pc) (pc) + rel decrement and jump if not zero djnz , rel (pc) (pc) + size (instr); dest opnd dest opnd 1; if [ ? (z)] then (pc) (pc) + rel mnemon i c (1) comments binary mode (2) source mode (2) mnemonic , (1) comments bytes states bytes states jb bit51, rel jump if direct bit is set 3 2/5 (3)(6) 3 2/5 (3)(6) jb bit, rel jump if direct bit of 8-bit address location is set 5 4/7 (3)(6) 4 3/6 (3)(6) jnb bit51, rel jump if direct bit is not set 3 2/5 (3)(6) 3 2/5 (3)(6) jnb bit, rel jump if direct bit of 8-bit address location is not set 5 4/7 (3)(6) 4 3/6 (3) jbc bit51, rel jump if direct bit is set & clear bit 3 4/7 (5)(6) 3 4/7 (5)(6) jbc bit, rel jump if direct bit of 8-bit address location is set and clear 5 7/10 (5)(6) 4 6/9 (5)(6) jz rel jump if acc is zero 2 2/5 (6) 2 2/5 (6) jnz rel jump if acc is not zero 2 2/5 (6) 2 2/5 (6) a, dir8, rel compare direct address to acc and jump if not equal 3 2/5 (3)(6) 3 2/5 (3)(6) cjne a, #data, rel compare immediate to acc and jump if not equal 3 2/5 (6) 3 2/5 (6) cjne rn, #data, rel compare immediate to register and jump if not equal 3 2/5 (6) 4 3/6 (6) @ri, #data, rel compare immediate to indirect and jump if not equal 3 3/6 (6) 4 4/7 (6) djnz rn, rel decrement register and jump if not zero 2 2/5 (6) 3 3/6 (6) djnz dir8, rel decrement direct address and jump if not zero 3 3/6 (4)(6) 3 3/6 (4)(6) notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. states are given as jump not-taken/taken. 3. if this instruction addresses an i/o port (px, x= 0-3), add 1 to the number of states. add 2 if it addresses a peripheral sfr . 4. if this instruction addresses an i/o port (px, x= 0-3), add 2 to the number of states. add 3 if it addresses a peripheral sfr . 5. if this instruction addresses an i/o port (px, x= 0-3), add 3 to the number of states. add 5 if it addresses a peripheral sfr . 6. in internal execution only, add 1 to the number of states of the `jump taken' if the destination address is internal and odd.
tsc87251g1a 26 rev. a september 21, 1998 table 33. summary of unconditional jump instructions absolute jump ajmp (pc) (pc) +2; (pc) 10:0 src opnd extended jump ejmp (pc) (pc) + size (instr); (pc) 23:0 src opnd long jump ljmp (pc) (pc) + size (instr); (pc) 15:0 src opnd short jump sjmp rel (pc) (pc) +2; (pc) (pc) +rel jump indirect jmp @a +dptr (pc) 23:16 ffh; (pc) 15:0 (a) + (dptr) no operation nop (pc) (pc) +1 mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states ajmp addr11 absolute jump 2 3 (2)(3) 2 3 (2)(3) ejmp addr24 extended jump 5 6 (2)(4) 4 5 (2)(4) ejmp @drk extended jump (indirect) 3 7 (2)(4) 2 6 (2)(4) ljmp @wrj long jump (indirect) 3 6 (2)(4) 2 5 (2)(4) ljmp addr16 long jump (direct address) 3 5 (2)(4) 3 5 (2)(4) sjmp rel short jump (relative address) 2 4 (2)(4) 2 4 (2)(4) jmp @a +dptr jump indirect relative to the dptr 1 5 (2)(4) 1 5 (2)(4) nop no operation (jump never) 1 1 1 1 notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. in internal execution only, add 1 to the number of states if the destination address is internal and odd. 3. add 2 to the number of states if the destination address is external. 4. add 3 to the number of states if the destination address is external. table 34. summary of call and return instructions absolute call acall (pc) (pc) +2; push (pc) 15:0 ; (pc) 10:0 src opnd extended call ecall (pc) (pc) + size (instr); push (pc) 23:0 ; (pc) 23:0 src opnd long call lcall (pc) (pc) + size (instr); push (pc) 15:0 ; (pc) 15:0 src opnd return from subroutine ret pop (pc) 15:0 extended return from subroutine eret pop (pc) 23:0 return from interrupt reti if [intr= 0] then pop (pc) 15:0 if [intr= 1] then pop (pc) 23:0 ; pop (psw1) trap interrupt trap (pc) (pc) + size (instr); if [intr= 0] then push (pc) 15:0 if [intr= 1] then push (psw1); push (pc) 23:0 mnemon i c (1) comments binary mode source mode mnemonic , (1) comments bytes states bytes states acall addr11 absolute subroutine call 2 9 (2)(3) 2 9 (2)(3) ecall @drk extended subroutine call (indirect) 3 14 (2)(3) 2 13 (2)(3) ecall addr24 extended subroutine call 5 14 (2)(3) 4 13 (2)(3) lcall @wrj long subroutine call (indirect) 3 10 (2)(3) 2 9 (2)(3) lcall addr16 long subroutine call 3 9 (2)(3) 3 9 (2)(3) ret return from subroutine 1 7 (2) 1 7 (2) eret extended subroutine return 3 9 (2) 2 8 (2) reti return from interrupt 1 7 (2)(4) 1 7 (2)(4) trap jump to the trap interrupt vector 2 12 (4) 1 11 (4) notes: 1. a shaded cell denotes an instruction in the c51 architecture. 2. in internal execution only, add 1 to the number of states if the destination/return address is internal and odd. 3. add 2 to the number of states if the destination address is external. 4. add 5 to the number of states if intr= 1.
tsc87251g1a 27 rev. a september 21, 1998 8. eprom programming 8.1. internal rom features the internal rom of the tsc87251g1a products contains five different areas:  code memory  configuration bytes  lock bits  encryption array  signature bytes 8.1.1. eprom/otprom devices all the internal rom but the signature bytes of the tsc87251g1a products is made of eprom cells. the signature bytes of the tsc87251gxd products are made of mask rom. the tsc87251g1a products are programmed and verified in the same manner as t emic 's tsc87251g1 and tsc87251a1a, using a singlepulse algorithm, which programs at vpp= 12.75v using only one 100 m s pulse per byte. this results in a programming time of less than 5 seconds for the 16 kbytes onchip code memory. the eprom of tsc87251g1a products in window cqpj is erasable by ultraviolet radiation (uv). uv erasure set all the eprom memory cells to one and allows a reprogramming. the quartz window must be covered with an opaque label when the device is in operation. this is not so much to protect the eprom array from inadvertent erasure, as to protect the ram and other onchip logic. allowing light to impinge on the silicon die during device operation may cause a logical malfunction. note: erasure of the eprom begins to occur when the chip is exposed to light wavelength shorter than 4000?. since sunlight and fluore scent light have wavelength in this range, exposure to these light sources over an extended time (1 week in sunlight or 3 years in roomlevel fl uorescent lighting) could cause inadvertent erasure. the tsc87251g1a products in plastic packages are one time programmable (otp). then an eprom cell cannot be reset by uv once programmed to zero. 8.1.2. security features in some microcontrollers applications, it is desirable that the user program code be secured from unauthorized access. the tsc87251g1a offers two kinds of protection for program code stored in the onchip array:  program code in the onchip code memory is encrypted when read out for verification if the encryption array is programmed.  a threelevel lock bit system restricts external access to the onchip code memory. 8.1.3. lock bit system the tsc87251g1a products implement 3 levels of security for user's program as described in table 35. the first level locks the programming of the user's internal code memory, the configuration bytes and the encryption array. the second level locks the verifying of the user's internal code memory. it is always possible to verify the configura- tion bytes and the lock bits. it is never possible to verify the encryption array. the third level locks the external execution.
tsc87251g1a 28 rev. a september 21, 1998 table 35. lock bits programming level lock bits lb[2:0] internal execution external execution verification programming external prom read (movc) 0 000 enable enable enable (1) enable enable (2) 1 001 enable enable enable 1) disable disable 2 011 enable enable disable disable disable 3 111 enable disable disable disable disable reserved other x x x x x notes: 1. returns encrypted data if encryption array is programmed. 2. returns non encrypted data. level 1 should be set before programming level 2; level 2 should be set before programming level 3. the security level may be verified according to table 36. table 36. lock bits verifying level lock bits data (1) 0 xxxxx000 1 xxxxx001 2 xxxxx01x 3 xxxxx1xx note: 1. x means don't care. 8.1.4. encryption array the tsc87251g1a products include a 128byte encryption array located in nonvolatile memory outside the memory address space. during verification of the onchip code memory, the seven loworder address bits also address the encryption array. as the byte of the code memory is read, it is exclusivenor'ed (xnor) with the key byte from the encryption array. if the encryption array is not programmed (still all 1s), the user program code is placed on the data bus in its original, unencrypted form. if the encryption array is programmed with key bytes, the user program code is encrypted and cannot be used without knowledge of the key byte sequence. to preserve the secrecy of the encryption key byte sequence, the encryption array can not be verified. cautions: 1. when a movc instruction is executed, the content of the rom is not encrypted. in order to fully protect the user program code , the lock bit level 1 (see table 1) must always be set when encryption is used. 2. if the encryption feature is implemented, the portion of the onchip code memory that does not contain program code should be filled with arandomo byte values to prevent the encryption key sequence from being revealed. 8.2. signature bytes the tsc87251g1a products contain factoryprogrammed signature bytes. these bytes are located in nonvolatile memory outside the memory address space at 30h, 31h, 60h and 61h. to read the signature bytes, perform the proce- dure described in section 8.4., averify algorithmo, using the verify signature mode (see table 39). signature byte val- ues are listed in table 37.
tsc87251g1a 29 rev. a september 21, 1998 table 37. signature bytes (electronic id) signature address signature data vendor temic 30h 58h architecture c251 31h 40h memory 16k eprom/otprom 60h fbh revision first (tsc8x251g1a) 61h ffh revision first (tsc8x251g1a) 61h ffh 8.3. programming algorithm figure 8 shows the hardware setup needed to program the tsc87251g1a eprom areas:  the chip has to be put under reset and maintained in this state until the completion of the programming sequence.  psen# and the other control signals (ale and port 0) have to be set to a high level.  then psen# has to be to forced to a low level after two clock cycles or more and it has to be maintained in this state until the completion of the programming sequence (see below).  the voltage on the ea# pin must be set to vdd.  the programming mode is selected according to the code applied on port 0 (see table 38). it has to be applied until the completion of this programming operation.  the programming address is applied on ports 1 and 3 which are respectively the most significant byte (msb) and the least significant byte (lsb) of the address.  the programming data are applied on port 2.  the eprom programming is done by raising the voltage on the ea# pin to vpp, then by generating a low level pulse on ale/prog# pin.  the voltage on the ea# pin must be lowered to vdd before completing the programming operation.  it is possible to alternate programming and verifying operation (see paragraph 8.4.). please make sure the voltage on the ea# pin has actually been lowered to vdd before performing the verifying operation.  psen# and the other control signals have to be released to complete a sequence of programming operations or a sequence of programming and verifying operations. rst ea#/vpp ale/prog# psen# vdd p3[7:0] p1[7:0] vss/vss1/vss2 xtal1 p2[7:0] p0[7:0] vpp 100 m s pulses a[7:0] a[13:8] mode data tsc87251g1a 4 to 12 mhz vdd vdd figure 8. setup for eprom programming
tsc87251g1a 30 rev. a september 21, 1998 table 38. programming modes rom area (1) rst ea#/vpp psen# ale/prog# (2) p0 p2 p1(msb) p3(lsb) onchip code memory 1 vpp 0 1 pulse 68h data 16bit address 0000h-3fffh (16k) configuration bytes 1 vpp 0 1 pulse 69h data config0: 0080h config1: 0081h lock bits 1 vpp 0 1 pulse 6bh x lb0: 0001h lb1: 0002h lb2: 0003h encryption array 1 vpp 0 1 pulse 6ch data 0000h-007fh notes: 1. signature bytes are not userprogrammable. 2. the ale/prog# pulse waveform is shown in figure 24 page 46. 8.4. verify algorithm figure 9 shows the hardware setup needed to verify the tsc87251g1a eprom areas:  the chip has to be put under reset and maintained in this state until the completion of the verifying sequence.  psen# and the other control signals (ale and port 0) have to be set to a high level.  then psen# has to be to forced to a low level after two clock cycles or more and it has to be maintained in this state until the completion of the verifying sequence (see below).  the voltage on the ea# pin must be set to vdd and ale must be set to a high level.  the verifying mode is selected according to the code applied on port 0. it has to be applied until the completion of this verifying operation.  the verifying address is applied on ports 1 and 3 which are respectively the msb and the lsb of the address.  then device is driving the data on port 2.  it is possible to alternate programming and verification operation (see paragraph 8.3.). please make sure the voltage on the ea# pin has actually been lowered to vdd before performing the verifying operation.  psen# and the other control signals have to be released to complete a sequence of verifying operations or a sequence of programming and verifying operations. table 39. verifying modes rom area (1) rst ea#/vpp psen# ale/prog# p0 p2 p1(msb) p3(lsb) onchip code memory 1 1 0 1 28h data 16bit address 0000h-3fffh (16k) configuration bytes 1 1 0 1 29h data config0: 0080h config1: 0081h lock bits 1 1 0 1 2bh data 0000h signature bytes 1 1 0 1 29h data 0030h, 0031h, 0060h, 0061h note: 1. to preserve the secrecy of onchip code memory when encypted, the encryption array can not be verified.
tsc87251g1a 31 rev. a september 21, 1998 vdd p3[7:0] p1[7:0] vss/vss1/vss2 xtal1 p0[7:0] a[7:0] a[13:8] mode tsc87251g1a 4 to 12 mhz vdd data p2[7:0] vdd rst ea#/vpp ale/prog# psen# figure 9. setup for eprom verifying
tsc87251g1a 32 rev. a september 21, 1998 9. absolute maximum rating and operating conditions 9.1. absolute maximum rating table 40. absolute maximum ratings  storage temperature . . . . . . . . . . . . . . . . . . . .  voltage on any other pin to vss . . . . . . . . . . .  voltage on ea#/vpp pin to vss . . . . . . . . . . .  i ol per i/o pin . . . . . . . . . . . . . . . . . . . . . . . . .  power dissipation . . . . . . . . . . . . . . . . . . . . . . 65 to +150 c 0.5 to +6.5 v 0 to +13.0 v 15 ma 1.5 w 9.2. operating conditions table 41. operating conditions  ambient temperature under bias commercial . . . . . . . . . . . . . . . . . . . . . . . . . . . industrial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  v dd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 to +70 c 40 to +85 c 4.5 to 5.5 v note: stressing the device beyond the aabsolute maximum ratingso may cause permanent damage. these are stress ratings only. operation beyond the aoperating conditionso is not recommended and extended exposure beyond the aoperating conditionso may affect device reliability .
tsc87251g1a 33 rev. a september 21, 1998 10. dc characteristics commercial & industrial table 42. dc characteristics; v dd = 4.5 to 5.5 v, t a = 40 to +85 c symbol parameter min typical (4) max units test conditions v il input low voltage (except ea#, scl, sda) 0.5 0.2v dd - 0.1 v v il1 (5) input low voltage (scl, sda) 0.5 0.3v dd v v il2 input low voltage (ea#) 0 0.2v dd - 0.3 v v ih input high voltage (except xtal1, rst, scl, sda) 0.2v dd + 0.9 v dd + 0.5 v v ih1 (5) input high voltage (xtal1, rst, scl, sda) 0.7v dd v dd + 0.5 v v ol output low voltage (ports 1, 2, 3) 0.3 0.45 1.0 v i ol = 100 m a (1)(2) i ol = 1.6 ma (1)(2) i ol = 3.5 ma (1)(2) v ol1 output low voltage (ports 0, ale, psen#,port 2 in page mode during external address) 0.3 0.45 1.0 v i ol = 200 m a (1)(2) i ol = 3.2 ma (1)(2) i ol = 7.0 ma (1)(2) v oh output high voltage (ports 1, 2, 3, ale, psen#) v dd 0.3 v dd 0.7 v dd 1.5 v i oh = 10 m a (3) i oh = 30 m a (3) i oh = 60 m a (3) v oh1 output high voltage (port 0, port 2 in page mode during external address) v dd 0.3 v dd 0.7 v dd 1.5 v i oh = 200 m a i oh = 3.2 ma i oh = 7.0 ma v rst + reset threshold on 3.7 v v rst reset threshold off 3.3 v v ret v dd data retention limit 1.8 v i il0 logical 0 input current (ports 1, 2, 3) - 50 m a v in = 0.45 v i li input leakage current (port 0) 10 m a 0.45 v < v in < v dd i tl logical 1-to-0 transition current (ports 1, 2, 3) - 650 m a v in = 2.0 v r rst rst pulldown resistor 40 170 225 k  c io pin capacitance 10 pf t a = 25 c i operating current 35 65 ma f osc = 12 mhz i dd operating current 45 80 ma f osc = 16 mhz i idle mode current 10 15 ma f osc = 12 mhz i dl idle mode current 15 20 ma f osc = 16 mhz i pd powerdown current 10 20 m a v ret < v dd < 5.5 v v pp programming supply voltage 12,5 13 v t a = 0 to +40 c i pp programming supply current 75 ma t a = 0 to +40 c
tsc87251g1a 34 rev. a september 21, 1998 notes: 1. under steadystate (nontransient) conditions, i ol must be externally limited as follows: maximum i ol per port pin: 10 ma . . . . . . . . . . . . . . . . . . . . . . . maximum i ol per 8bit port: port 0 26 ma . . . . . . . ports 1-3 15 ma . . . . . maximum total i ol for all: output pins 71 ma . . . if i ol exceeds the test conditions, v ol may exceed the related specification. pins are not guaranteed to sink current greater than the listed test conditions. 2. capacitive loading on ports 0 and 2 may cause spurious noise pulses above 0.4 v on the lowlevel outputs of ale and ports 1, 2, and 3. the noise is due to external bus capacitance discharging into the port 0 and port 2 pins when these pins change from high to low. in applica tions where capacitive loading exceeds 100 pf, the noise pulses on these signals may exceed 0.8 v. it may be desirable to qualify ale or ot her signals with a schmitt trigger or cmoslevel input logic. 3. capacitive loading on ports 0 and 2 causes the v oh on ale and psen# to drop below the specification when the address lines are stabilizing. 4. typical values are obtained using v dd = 5 v and t a = 25 c with no guarantee. they are not tested and there is not guarantee on these values. 5. the input threshold voltage of scl and sda meets the i 2 c specification, so an input voltage below 0.3.v dd will be recognized as a logic 0 while an input voltage above 0.7.v dd will be recognized as a logic 1. 0 80 60 40 20 12 14 16 6 4 2810 frequency at xtal (1) (mhz) i dd /i dl (ma) max active mode (ma) typ active mode (ma) max idle mode (ma) typ idle mode (ma) note: 1. the clock prescaler is not used: f osc = f xtal . figure 10. i dd /i dl versus frequency; v dd = 4.5 to 5.5 v
tsc87251g1a 35 rev. a september 21, 1998 10.1. dc characteristics: i dd, i dl and i pd test conditions xtal2 xtal1 vss vdd ea#/vpp p0 tsc87251g1a vdd rst i dd (nc) all other pins are unconnected vdd clock signal vdd figure 11. i dd test condition, active mode xtal2 xtal1 vss vdd ea#/vpp p0 tsc87251g1a vdd rst i dl (nc) all other pins are unconnected vdd clock signal figure 12. i dl test condition, idle mode xtal2 xtal1 vss vdd ea#/vpp p0 tsc87251g1a vdd rst i pd (nc) all other pins are unconnected vdd figure 13. i pd test condition, powerdown mode
tsc87251g1a 36 rev. a september 21, 1998 11. ac characteristics commercial & industrial 11.1. ac characteristics external bus cycles definition of symbols table 43. external bus cycles timing symbol definitions signals conditions a address h high d data in l low l ale v valid q data out x no longer valid r rd#/psen# z floating w wr# timings test conditions: capacitive load on all pins= 50 pf. table 44 lists ac timing parameters for the tsc87251g1a with no wait states. external wait states can be added by extending psen#/rd#/wr# and or by extending ale. in these tables, note 2 marks parameters affected by one ale wait state, and note 3 marks parameters affected by one psen#/rd#/wr# wait state. figure 14 to figure 19 show the bus cycles with the timing parameters.
tsc87251g1a 37 rev. a september 21, 1998 table 44. bus cycles ac timings; v dd = 4.5 to 5.5 v, t a = 40 to 85 c symbol parameter 16 mhz f osc variable un i t symbol parameter min max min max unit t osc 1/f osc 63 ns t lhll ale pulse width 53 t osc 10 ns (2) t av l l address valid to ale low 43 t osc 20 ns (2) t llax address hold after ale low 43 t osc 20 ns t rlrh (1) rd#/psen# pulse width 45 t osc 18 ns (3) t rhrl rd#/psen# high to rd#/psen# low 53 t osc 10 ns t wlwh wr# pulse width 45 t osc 18 ns (3) t llrl (1) ale low to rd#/psen# low 53 t osc 10 ns t lhax ale high to address hold 105 2 t osc 20 ns (2) t rldv (1) rd#/psen# low to valid data 43 t osc 20 ns (3) t rhdx (1) data hold after rd#/psen# high 0 0 ns t rhax (1) address hold after rd#/psen# high 0 0 ns t rlaz (1) rd#/psen# low to address float 2 2 ns t rhdz1 instruction float after rd#/psen# high 43 t osc 20 ns t rhdz2 data float after rd#/psen# high 43 t osc 20 ns t rhlh1 rd#/psen# high to ale high (instruction) 48 t osc 15 ns t rhlh2 rd#/psen# high to ale high (data) 173 3 t osc 15 ns t whlh wr# high to ale high 173 3 t osc 15 ns t avdv1 address (p0) valid to valid data in 190 3 t osc 60 ns (2)(3) t avdv2 address (p2) valid to valid data in 273 4 t osc 60 ns (2)(3) t avdv3 address (p0) valid to valid instruction in 128 3 t osc 60 ns t axdx data hold after address hold 0 0 ns t av r l (1) address valid to rd# low 101 2 t osc 24 ns (2) t av w l 1 address (p0) valid to wr# low 101 2 t osc 24 ns (2) t av w l 2 address (p2) valid to wr# low 158 3 t osc 30 ns (2) t whqx data hold after wr# high 43 t osc 20 ns t qvwh data valid to wr# high 38 t osc 25 ns (3) t whax wr# high to address hold 105 2 t osc 20 ns notes: 1. specification for psen# are identical to those for rd#. 2. if a wait state is added by extending ale, add 2 t osc. 3. if a wait state is added by extending rd#/psen#/wr#, add 2 t osc .
tsc87251g1a 38 rev. a september 21, 1998 waveforms in nonpage mode instruction in t rhlh1 t rlrh (1) t llrl (1) t lhll (1) t rldv (1) t rlaz t av l l (1) t llax t rhdx t rhdz1 t av r l (1) t avdv1 (1) t avdv2 (1) p2/a16/a17 p0 rd#/psen# ale a15:8/a16/a17 t lhax (1) d7:0 a7:0 t rhax note: 1. the value of this parameter depends on wait states. see table 44. figure 14. external bus cycle: code fetch (nonpage mode) t rhlh2 t rlrh (1) t llrl (1) t lhll (1) t rldv (1) t rlaz t av l l (1) t llax t rhdx t rhdz2 t av r l (1) t avdv1 (1) t avdv2 (1) p2/a16/a17 p0 rd#/psen# ale a15:8/a16/a17 t lhax (1) d7:0 a7:0 data in t rhax note: 1. the value of this parameter depends on wait states. see table 44. figure 15. external bus cycle: data read (nonpage mode)
tsc87251g1a 39 rev. a september 21, 1998 t whlh t wlwh (1) t lhll (1) t av l l (1) t llax t av w l 1 (1) t av w l 2 (1) p2/a16/a17 p0 wr# ale a15:8/a16/a17 t lhax (1) d7:0 t qvwh a7:0 t whax t whqx data out note: 1. the value of this parameter depends on wait states. see table 44. figure 16. external bus cycle: datawrite (nonpage mode) waveforms in page mode t llrl (1) t lhll (1) t rldv (1) t rlaz t av l l (1) t llax t rhdx t rhdz1 t av r l (1) t av d v 1 (1) a7:0/a16/a17 t lhax (1) d7:0 a15:8 d7:0 page miss (2) page hit (2) t avdv3 (1) t rlrh (1) p0/a16/a17 p2 rd#/psen# (3) ale a7:0/a16/a17 t av d v 2 (1) t rhax instruction in t axdx instruction in t rhrl t rhlh1 notes: 1. the value of this parameter depends on wait states. see table 44. 2. a page hit (i.e., a code fetch to the same 256-byte apageo as the previous code fetch) requires one state (2 t osc ); a page miss requires two states (4 t osc ). 3. during a sequence of page hits, psen# toggles between each byte fetching. figure 17. external bus cycle: code fetch (page mode)
tsc87251g1a 40 rev. a september 21, 1998 t rhlh2 t rlrh (1) t llrl (1) t lhll (1) t rldv (1) t rlaz t av l l (1) t llax t rhdx t rhdz2 t av r l (1) t avdv1 (1) t avdv2 (1) p0/a16/a17 p2 rd#/psen# ale a15:8/a16/a17 t lhax (1) d7:0 a7:0 data in t rhax note: 1. the value of this parameter depends on wait states. see table 44. figure 18. external bus cycle: data read (page mode) t whlh t wlwh (1) t lhll (1) t av l l (1) t llax t av w l 1 (1) t av w l 2 (1) p0/a16/a17 p2 wr# ale a15:8/a16/a17 t lhax (1) d7:0 t qvwh a7:0 t whax t whqx data out note: 1. the value of this parameter depends on wait states. see table 44. figure 19. external bus cycle: datawrite (page mode)
tsc87251g1a 41 rev. a september 21, 1998 11.2. ac characteristics serial port in shift register mode definition of symbols table 45. serial port timing symbol definitions signals conditions d data in h high q data out l low x clock v valid x no longer valid timings table 46. serial port ac timing shift register mode; v dd = 4.5 to 5.5 v, t a = 40 to 85 c symbol parameter 16 mhz f osc variable un i t symbol parameter min max min max unit t xlxl serial port clock cycle time 756 12 t osc ns t qvxh output data setup to clock rising edge 620 12 t osc 136 ns t xhqx output data hold after clock rising edge 510 10 t osc 120 ns t xhdx input data hold after clock rising edge 0 0 ns t xhdv clock rising edge to input data valid 500 10 t osc 130 ns waveforms valid valid valid valid valid valid valid valid 01 23 45 6 7 t xlxl t xhdv t xhdx t qvxh t xhqx set ti (1) set ri (1) txd rxd (out) rxd (in) note: 1. ti and ri are set during s1p1 of the peripheral cycle following the shift of the eight bit. figure 20. serial port waveforms shift register mode
tsc87251g1a 42 rev. a september 21, 1998 11.3. ac characteristics sslc: i 2 c interface timings table 47. i 2 c interface ac timing; v dd = 4.5 to 5.5 v, t a = 40 to 85 c symbol parameter input min max output min max t hd; sta start condition hold time 14 t clcl (4) 4.0 m s (1) t low scl low time 16 t clcl (4) 4.7 m s (1) t high scl high time 14 t clcl (4) 4.0 m s (1) t rc scl rise time 1 m s (2) t fc scl fall time 0.3 m s 0.3 m s (3) t su; dat 1 data setup time 250 ns 20 t clcl (4) t rd t su; dat 2 sda setup time (before repeated start condition) 250 ns 1 m s (1) t su; dat 3 sda setup time (before stop condition) 250 ns 8 t clcl (4) t hd; dat data hold time 0 ns 8 t clcl (4) t fc t su; sta repeated start setup time 14 t clcl (4) 4.7 m s (1) t su; sto stop condition setup time 14 t clcl (4) 4.0 m s (1) t buf bus free time 14 t clcl (4) 4.7 m s (1) t rd sda rise time 1 m s (2) t fd sda fall time 0.3 m s 0.3 m s (3) notes: 1. at 100 kbit/s. at other bitrates this value is inversely proportional to the bitrate of 100 kbit/s. 2. determined by the external busline capacitance and the external busline pullup resistor, this must be < 1 m s. 3. spikes on the sda and scl lines with a duration of less than 3 t clcl will be filtered out. maximum capacitance on buslines sda and scl= 400 pf. 4. t clcl = t osc = one oscillator clock period. waveforms start or repeated start condition repeated start condition stop condition start condition sda (input/output) scl (input/output) 0.7 v dd 0.3 v dd 0.7 v dd 0.3 v dd t su ;sta t su ;sto t buf t high t rd t rc t su ;dat3 t fc t fd t low t su ;dat2 t su ;dat1 t hd ;dat t hd ;sta figure 21. i 2 c waveforms
tsc87251g1a 43 rev. a september 21, 1998 11.4. ac characteristics sslc: spi interface definition of symbols table 48. spi interface timing symbol definitions signals conditions c clock h high i data in l low o data out v valid x no longer valid timings table 49. spi interface ac timing; v dd = 4.5 to 5.5 v, t a = 40 to 85 c symbol parameter min max unit master mode (1) t chch clock period 4 t osc t chcx clock high time 1.6 t osc t clcx clock low time 1.6 t osc t ivcl , t ivch input data valid to clock edge 50 ns t clix , t chix input data hold after clock edge 50 ns t clov , t chov output data valid after clock edge 65 ns t clox , t chox output data hold time after clock edge 0 ns t ilih input data rise time 2 m s t ihil input data fall time 2 m s t oloh output data rise time 50 ns t ohol output data fall time 50 ns notes: 1. capacitive load on all pins= 100 pf in master mode.
tsc87251g1a 44 rev. a september 21, 1998 waveforms miso (input) sck (sscpol=0) (output) ss# (1) (output) sck (sscpol=1) (output) msb in bit 6 lsb in mosi (output) msb out lsb out t chch t clcx t chcx t ivcl t clix t chix t ivch t chov t clov t chox t clox port data port data bit 6 note: 1. ss# handled by software. figure 22. spi master waveforms (sscpha= 0) miso (input) sck (sscpol=0) (output) ss# (1) (output) sck (sscpol=1) (output) msb in bit 6 lsb in mosi (output) msb out lsb out t chch t ivcl t clix t chix t ivch t clov t chov t clox t chox t chcl t clch port data port data bit 6 t clcx t chcx note: 1. ss# handled by software. figure 23. spi master waveforms (sscpha= 1)
tsc87251g1a 45 rev. a september 21, 1998 11.5. ac characteristics eprom programming and verifying definition of symbols table 50. eprom programming & verifying timing symbol definitions signals conditions a address h high e enable: mode set on port 0 l low q data out v valid x no longer valid z floating timings table 51. eprom programming and verifying ac timings; v dd = 4.5 to 5.5 v, t a = 0 to 40 c symbol parameter min max unit t osc xtal1 frequency 83.5 250 ns t avgl address setup to prog# low 48 t osc t ghax address hold after prog# low 48 t osc t dvgl data setup to prog# low 48 t osc t ghdx data hold after prog# 48 t osc t ehsh enable high to vpp 48 t osc t shgl vpp setup to prog# low 10  s t ghsl vpp hold after prog# 10  s t slel enable hold after vpp 0 t glgh prog# width 90 110  s t avqv address to data valid 48 t osc t axqx address to data invalid 0 ns t elqv enable low to data valid 48 t osc t ehqz data float after enable 0 48 t osc
tsc87251g1a 46 rev. a september 21, 1998 waveforms v dd mode= 68h, 69h, 6bh or 6ch data address p1= a14:8 p3= a7:0 p2= d7:0 ale/prog# ea#/vpp p0 t ehsh t shgl t glgh t avgl t dvgl t ghdx v pp v ss t ghax t ghsl t slel figure 24. eprom programming waveforms t elqv t ehqz address data t avqv p1= a15:8 p3= a7:0 p2= d7:0 p0 mode= 28h, 29h or 2bh t axqx figure 25. eprom verifying waveforms 11.6. ac characteristics external clock drive and logic level references definition of symbols table 52. external clock timing symbol definitions signals conditions c clock l low h high x no longer valid
tsc87251g1a 47 rev. a september 21, 1998 timings table 53. external clock ac timings; v dd = 4.5 to 5.5 v, t a = 40 to +85 c symbol parameter min max unit f osc oscillator frequency 24 mhz t chcx high time 10 ns t clcx low time 10 ns t clch rise time 3 ns t chcl fall time 3 ns waveforms 0.45 v t clcl v dd 0.5 v ih1 v il t chcx t clch t chcl t clcx figure 26. external clock waveform 0.45 v v dd 0.5 0.2 v dd + 0.9 0.2 v dd 0.1 v ih min v il max inputs outputs note: during ac testing, all inputs are driven at v dd 0.5 v for a logic 1 and 0.45 v for a logic 0. timing measurements are made on all outputs at v ih min for a logic 1 and v il max for a logic 0. figure 27. ac testing input/output waveforms v load v oh 0.1 v v ol + 0.1 v v load + 0.1 v v load 0.1 v timing reference points note: for timing purposes, a port pin is no longer floating when a 100 mv change from load voltage occurs and begins to float when a 100 mv change from the loading v oh /v ol level occurs with i ol /i oh = 20 ma. figure 28. float waveforms
tsc87251g1a 48 rev. a september 21, 1998 12. packages 12.1. list of packages  pdil 40  plcc 44  cqpj 44 12.2. pdil 40 mechanical outline figure 29: plastic dual in line table 54: pdil package size mm inch min max min max a 5.08 .200 a1 0.38 .015 a2 3.18 4.95 .125 .195 b 0.36 0.56 .014 .022 b1 0.76 1.78 .030 .070 c 0.20 0.38 .008 .015 d 50.29 53.21 1.980 2.095 e 15.24 15.87 .600 .625 e1 12.32 14.73 .485 .580 e 2.54 b.s.c. .100 b.s.c. ea 15.24 b.s.c. .600 b.s.c. eb 17.78 .700 l 2.93 3.81 .115 .150 d1 0.13 .005
tsc87251g1a 49 rev. a september 21, 1998 12.3. plcc 44 mechanical outline figure 30: plastic lead chip carrier table 55: plcc package size mm inch min max min max a 4.20 4.57 .165 .180 a1 2.29 3.04 .090 .120 d 17.40 17.65 .685 .695 d1 16.44 16.66 .647 .656 d2 14.99 16.00 .590 .630 e 17.40 17.65 .685 .695 e1 16.44 16.66 .647 .656 e2 14.99 16.00 .590 .630 e 1.27 bsc .050 bsc g 1.07 1.22 .042 .048 h 1.07 1.42 .042 .056 j 0.51 .020 k 0.33 0.53 .013 .021 nd 11 11 ne 11 11
tsc87251g1a 50 rev. a september 21, 1998 12.4. cqpj 44 with window mechanical outline figure 31: ceramic quad pack j table 56: cqpj package size mm inch min max min max a 4.90 .193 c 0.15 0.25 .006 .010 d e 17.40 17.55 .685 .691 d1 e1 16.36 16.66 .644 .656 e 1.27 typ .050 typ f 0.43 0.53 .017 .021 j 0.86 1.12 .034 .044 q 15.49 16.00 .610 .630 r 0.86 typ .034 typ n1 11 11 n2 11 11
tsc87251g1a 51 rev. a september 21, 1998 13. ordering information 13.1. tsc87251g1a otp (step a) high speed versions 4.5 to 5.5 v, commercial and industrial temic part number rom description tsc87251g1a16ca 16k otp rom 16 mhz, commercial 0 to 70 c, pdil 40 tsc87251g1a16cb 16k otp rom 16 mhz, commercial 0 to 70 c, plcc 44 tsc87251g1a16ia 16k otp rom 16 mhz, industrial 40 to 85 c, pdil 40 tsc87251g1a16ib 16k otp rom 16 mhz, industrial 40 to 85 c, plcc 44 13.2. tsc87251g1a eprom uv window package (step a) high speed versions 4.5 to 5.5 v, industrial temic part number rom description tsc87251g1a16ic 16k eprom 16 mhz, industrial 40 to 85 c, window cqpj 44 13.3. tsc80251g1d romless (step d) high speed versions 4.5 to 5.5 v, commercial and industrial temic part number (2) rom description tsc80251g1d24ca romless 24 mhz, commercial 0 to 70 c, pdil 40 tsc80251g1d24cb romless 24 mhz, commercial 0 to 70 c, plcc 44 tsc80251g1d24ced romless 24 mhz, commercial 0 to 70 c, vqfp 44, dry pack (1) tsc80251g1d16ca romless 16 mhz, commercial 0 to 70 c, pdil 40 tsc80251g1d16cb romless 16 mhz, commercial 0 to 70 c, plcc 44 tsc80251g1d16ced romless 16 mhz, commercial 0 to 70 c, vqfp 44, dry pack (1) tsc80251g1d16ia romless 16 mhz, industrial 40 to 85 c, pdil 40 tsc80251g1d16ib romless 16 mhz, industrial 40 to 85 c, plcc 44 low voltage versions 2.7 to 5.5 v, commercial temic part number (2) rom description tsc80251g1dl12cb romless 12 mhz, commercial, plcc 44 tsc80251g1dl12ced romless 12 mhz, commercial, vqfp 44, dry pack (1)
tsc87251g1a 52 rev. a september 21, 1998 13.4. tsc83251g1d mask rom (step d) high speed versions 4.5 to 5.5 v, commercial and industrial temic part number (2) rom description tsc251g1dxxx24ca 16k maskrom 24 mhz, commercial 0 to 70 c, pdil 40 tsc251g1dxxx24cb 16k maskrom 24 mhz, commercial 0 to 70 c, plcc 44 tsc251g1dxxx24ced 16k maskrom 24 mhz, commercial 0 to 70 c, vqfp 44, dry pack (1) tsc251g1dxxx16ca 16k maskrom 16 mhz, commercial 0 to 70 c, pdil 40 tsc251g1dxxx16cb 16k maskrom 16 mhz, commercial 0 to 70 c, plcc 44 tsc251g1dxxx16ced 16k maskrom 16 mhz, commercial 0 to 70 c, vqfp 44, dry pack (1) tsc251g1dxxx16ia 16k maskrom 16 mhz, industrial 40 to 85 c, pdil 40 tsc251g1dxxx16ib 16k maskrom 16 mhz, industrial 40 to 85 c, plcc 44 low voltage versions 2.7 to 5.5 v, commercial temic part number (2) rom description tsc251g1dxxxl12cb 16k maskrom 12 mhz, commercial 0 to 70 c, plcc 44 tsc251g1dxxxl12ced 16k maskrom 12 mhz, commercial 0 to 70 c, vqfp 44, dry pack (1) notes: 1. dry pack mandatory for vqfp package. 2. xxx: means rom code, is cxxx in case of encrypted code. 13.5. options (please consult temic sales)  rom code encryption  tape & real or dry pack  known good dice  ceramic packages  extended temperature range: 55 c to +125 c 13.6. starter kit temic part number description tsc80251sk tsc80251 starter kit 13.7. product marking mask rom versions temic temic part number ? intel'97 yyww . lot number romless versions temic temic part number ? intel'95 yyww . lot number otp versions temic customer part number temic part number ? intel'97 yyww . lot number


▲Up To Search▲   

 
Price & Availability of TSC80251-SK

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X